1. Technology Field
The present invention generally relates to a flash memory storage system, and more particularly, to a flash memory storage system that can store data fast, and a flash memory controller and a data writing method thereof.
2. Description of Related Art
Along with the widespread of digital cameras, cell phones, and MP3 in recently years, the consumers' demand to storage media has increased drastically. Flash memory is one of the most adaptable memories for such battery-powered portable products due to its characteristics such as data non-volatility, low power consumption, small volume, and non-mechanical structure. A memory card is a storage device adopting NAND flash memory as storage medium. Flash memory has been broadly used for storing important personal data thanks to its small volume and large capacity. Therefore, the flash memory industry has become a very important part of the electronic industry in recent years.
In current NAND flash memory technology, a flash memory may be classified into a Single Level Cell (SLC) NAND flash memory or a Multi Level Cell (MLC) NAND flash memory according to the number of bits which each memory cell thereof is capable of storing. To be specific, the programming of a SLC NAND flash memory only has one phase, therefore each memory cell only can store one bit of data. The programming of the MLC NAND memory has several phases. Taking a 2 level cell NAND flash memory as an example, the physical blocks thereof are programmed in two phases. The first phase is the programming of a lower page, and the physical property of the programming of the lower page is similar to the physical property of the programming of the SLC NAND memory. After the first phase is completed, the programming of an upper page may be executed (i.e., the second phase), wherein the speed of programming the lower page is faster than that of programming the upper page. Therefore, pages in each physical block may be categorized into slow pages (i.e., upper pages) and fast pages (i.e., lower pages).
Similarly, in an 8 level cell or a 16 level cell, each memory cell contains more pages and accordingly is programmed in more phases. Herein, the pages having the fastest programming speed are defined as the “fast pages”, and all other pages having slower programming speed are defined as the “slower pages”. For example, the “slower pages” may include a plurality of pages having different programming speeds. Additionally, in other cases, the “slower pages” may been defined as the pages having the slowest programming speed, or the pages having the slowest programming speed and some of the pages having faster programming speeds than the slowest programming speed. For example, in a 4-level memory cell, the fast pages are defined as the pages having the fastest and the second fastest programming speed, while the slow pages are defined as the pages having the slowest and the second slowest programming speed.
Compared with the MLC NAND flash memory, the access speed of the SLC NAND flash memory is faster. However, compared to the SLC NAND flash memory, the capacity of the MLC NAND flash memory is larger and the cost of the MLC NAND flash memory is lower. Thereby, how to increase the access speed of the MLC NAND flash memory to improve the performance of a flash memory storage apparatus is one of the major subjects in the industry.
Nothing herein should be construed as an admission of knowledge in the prior art of any portion of the present invention. Furthermore, citation or identification of any document in this application is not an admission that such document is available as prior art to the present invention, or that any reference forms a part of the common general knowledge in the art.